local T = Instance.new("Tool",owner.Backpack) T.Name = "Sword" T.Grip = CFrame.new(0,0,-2.5)*CFrame.Angles(0,math.rad(90),math.rad(90)) local H = Instance.new("Part",T) H.Size = Vector3.new(1,0.5,6.5) H.Name = "Handle" H.Locked = true local M = Instance.new("SpecialMesh",H) M.MeshType = Enum.MeshType.FileMesh M.TextureId = "rbxassetid://1008029477" M.MeshId = "rbxassetid://1008029442" M.Scale = Vector3.new(0.05,0.05,0.05) local Un = Instance.new("Sound",H) Un.SoundId = "rbxassetid://1841908800" Un.Volume = 2 local Sl = Instance.new("Sound",H) Sl.SoundId = "rbxassetid://8005160864" Sl.Volume = 0.7 local Lu = Instance.new("Sound",H) Lu.SoundId = "rbxassetid://8005160864" Lu.Volume = 0.6 local LastAttack = 0 local LastLunge = 0 function Equipped() Un:Play() end T.Equipped:Connect(Equipped) function Unequipped() Un:Stop() end T.Unequipped:Connect(Unequipped) function Activated() local Hum = T.Parent:FindFirstChildWhichIsA("Humanoid") if not Hum or Hum:GetState() == Enum.HumanoidStateType.Dead then return elseif LastLunge-workspace.DistributedGameTime <= -1 then local Stored = LastAttack-workspace.DistributedGameTime LastAttack = workspace.DistributedGameTime local A = Instance.new("StringValue",T) A.Name = "toolanim" Sl:Play() if Stored > -0.2 then A.Value = "Lunge" LastLunge = workspace.DistributedGameTime Lu:Play() local BV local t = T.Parent:FindFirstChild("Torso") or T.Parent:FindFirstChild("UpperTorso") or T.Parent:FindFirstChild("HumanoidRootPart") if t and t:IsA("BasePart") then local BV = Instance.new("BodyVelocity",t) BV.Velocity = Vector3.new(0,10,0) BV.MaxForce = Vector3.new(0,4000,0) BV.P = 1250 game:GetService("Debris"):AddItem(BV,0.5) end wait(0.25) T.Grip = CFrame.new(0,0,-2.5)CFrame.Angles(0,math.rad(180),math.rad(90)) wait(0.25) if BV then BV:Destroy() end wait(0.25) T.Grip = CFrame.new(0,0,-2.5)CFrame.Angles(0,math.rad(90),math.rad(90)) else A.Value = "Slash" end end end T.Activated:Connect(Activated) function Touched(hit) local Humanoid = T.Parent:FindFirstChildWhichIsA("Humanoid") if not Humanoid or Humanoid:GetState() == Enum.HumanoidStateType.Dead then return elseif T and T.Parent and H and H.Parent and hit and hit.Parent then local Hum = hit.Parent:FindFirstChildWhichIsA("Humanoid") if Hum then local P = game:GetService("Players"):GetPlayerFromCharacter(T.Parent) local c = Instance.new("ObjectValue",Hum) c.Name = "creator" c.Value = P game:GetService("Debris"):AddItem(c,0.5) if LastLunge-workspace.DistributedGameTime > -1 then Hum:TakeDamage(11400) elseif LastAttack-workspace.DistributedGameTime > -0.6 then Hum:TakeDamage(30) else Hum:TakeDamage(30) end end end end H.Touched:Connect(Touched)